package demo5;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Controller;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Component//如果没有特殊作用通常使用@Component
//@Controller//被该注解的类也收Spring容器管理，且还有其他功能
//@Service//该注解通常用来标注业务逻辑层的类，也受Spring容器管理
//@Repository //该注解用来标注数据持久层的类，主要和数据库打交道，也受Spring容器管理
public class Person {
//    @Autowired//自动装配注解Spring 的开发模式中当A类需要B类的功能时，应当将B类作为属性定义在A类中，使用接口类型更方便日后更换
    @Resource//非spring的自动装配注解,但是Spring支持
    /*
       1：解决装配冲突
    * @Resource(name="类名")，此处类名首字母需要小写
    2:要求属性名与类名一致，实际使用依然是@Autowired
    * */
//    private Clothes clothes;
    private Clothes sweater;
    public void play(){
//        clothes.wear();
        sweater.wear();
        System.out.println("出去玩");
    }
}
